feat(LibCarla/ros2): [7/7] remove legacy FastDDS-generated type files - #9645
Conversation
|
Thanks for opening this pull request! The maintainers of this repository would appreciate it if you would update our CHANGELOG.md based on your changes. |
a7dcbdd to
e32d7bc
Compare
Delete 125 auto-generated FastDDS type files from
LibCarla/source/carla/ros2/types/: 31 type-definition pairs
({TypeName}.h + {TypeName}.cpp), 31 PubSubType pairs
({TypeName}PubSubTypes.h + {TypeName}PubSubTypes.cpp), and
FastDDSConversions.h.
These files were generated by fastddsgen from IDL definitions and are no
longer referenced anywhere in the codebase. GenericCdrPubSubType<T>
(introduced in carla-simulator#9643) replaces all 31 hand-generated PubSubType classes by
serializing carla::ros2::msg::* POD structs directly to CDR bytes via
CdrSerialization.h, with no dependency on these files.
Both cmake/fast_dds/CMakeLists.txt and cmake/cyclone_dds/CMakeLists.txt
collect type files via file(GLOB) patterns (types/*.h, types/*.cpp), so no
CMake changes are needed. The globs self-adjust on the next configure pass.
After this change, LibCarla/source/carla/ros2/types/ contains only:
CdrSerialization.h, CdrTopicInfo.h, and msg/ (31 POD struct headers).
Tests: 120/120 server + 56/56 client + 2/2 smoke.
e32d7bc to
21a32d6
Compare
|
Hello @LuisPovedaCano, this PR includes changes in 125 files. I hope this won't be a problem, since this PR is only to perform cleanup: no new files or changes are introduced; only unused files related to the old FastDDS API that is no longer used are removed. |
|
Yes, in this case, there is no problem |
LuisPovedaCano
left a comment
There was a problem hiding this comment.
FastDDSTypeMap.h was replaced by GenericCdrPubSubType.h and is no longer included anywhere. It still references the deleted PubSubTypes.h and FastDDSConversions.h headers, but since it's never compiled it doesn't break the build.
It should be deleted along with the rest of the legacy files.
|
Good catch! Let me take a look and see if I'm missing something else. |
FastDDSTypeMap.h was replaced by GenericCdrPubSubType.h (introduced in carla-simulator#9643) and is no longer included anywhere in the codebase. It references 31 deleted PubSubTypes.h headers and the deleted FastDDSConversions.h, making it dead code that would cause a build error if ever included. This completes the cleanup started in the previous commit (125 files deleted from types/). Total legacy FastDDS files removed: 126.
|
All right, I removed that file, and I didn't find any other missing files to clean up. |
LuisPovedaCano
left a comment
There was a problem hiding this comment.
Thank you for your hard work and patience.
Everything is fine.
|
Thank you for reviewing and accepting my proposal. I really hope this can help improve Carla's integration into more robotics projects. |
|
@LuisPovedaCano, please check this other PR #9666 before merging this one. It's related to the Windows CI/CD failing. |
|
@JArmandoAnaya Would it be possible to port these wonderful features to the |
|
Hello @youtalk 👋! Yes, actually, I plan to start working on that porting soon. Maybe next week I will take some time to start seeing how to do it. I wanted to close the gap between the two branches a bit more before. But maybe it is close enough, and I also wanted to implement the UE5-dev performance improvements that are close to being done. |
|
@JArmandoAnaya Thank you so much! I would like to support you again. |
Description
Part of the DDS middleware decoupling series (issue #9294). Blocked on #9644.
Removes 125 legacy FastDDS-generated type files from
LibCarla/source/carla/ros2/types/:{TypeName}.h+{TypeName}.cpp){TypeName}PubSubTypes.h+{TypeName}PubSubTypes.cpp)FastDDSConversions.hThese files were auto-generated by
fastddsgenfrom IDL definitions and areno longer referenced anywhere in the codebase.
GenericCdrPubSubType<T>(introduced in #9643) replaces all 31 hand-generated
*PubSubTypeclassesusing
CdrSerialization.hfor direct CDR serialization ofcarla::ros2::msg::*POD structs.Both
cmake/fast_dds/CMakeLists.txtandcmake/cyclone_dds/CMakeLists.txtcollect type files via
file(GLOB)patterns (types/*.h,types/*.cpp),so no CMake changes are needed. The globs self-adjust on the next configure pass.
After this PR,
LibCarla/source/carla/ros2/types/contains only:CdrSerialization.hCdrTopicInfo.hmsg/(31 vendor-agnostic POD struct headers)PR series
This PR is part of the DDS middleware decoupling series (#9294). Each PR in the chain inherits the commits of all prior PRs. The Commits column lists only the commits introduced by that PR, and the Files column counts only the files changed by those new commits.
feature/dds-middleware-abstraction-layer0ab35ee6feature/ros2-pod-types-and-fastdds-conversionse665d2affeature/ros2-publishers-pod-types-migration98b6f7aafeature/ros2-cyclonedds-enum-factory2a4a8db3GenericCdrPubSubTypefeature/ros2-cdr-serialization5a9dd3b4,0a9ca585feature/ros2-cyclonedds-cdr-middlewared3f2a45b,2d80046bfeature/ros2-remove-fastdds-generated-typeseea4e0a4Fixes #9294
Where has this been tested?
Possible Drawbacks
None. All deleted files were dead code with no remaining references.
This change is